Commit Graph
57 Commits
Author SHA1 Message Date
Omar Mihilmy 9acfdcdb88 docs(claude-for-msft-365-install): add update + bootstrap sections, debug command row 2026-05-18 17:03:15 -04:00
Omar Mihilmy 593ea4b95a fix(ci): cache claude binary dir, not just the dangling symlink
~/.local/bin/claude is a symlink into ~/.local/share/claude/versions/<v>.
Caching only the symlink restored a dangling link on a cache hit, so
`claude` failed with exit 127. Cache the versioned dir too and bump the
cache key (-v2) to discard the broken saved entry.
2026-05-18 17:01:44 -04:00
Omar Mihilmy 9affc6e683 fix(plugins): repair broken hooks.json + add plugin-validate CI (#232)
fix(plugins): hooks.json must be {"hooks": {}} not []; add plugin-validate CI

The empty-array hooks.json in private-equity, financial-analysis,
equity-research and wealth-management caused those plugins to fail to
load ("Hook load failed: expected object, received array"). Replace [] with
the minimal valid {"hooks": {}} object in all four.

Add a plugin-validate workflow that runs the official `claude plugin
validate` over the marketplace manifest and every plugin on each PR and
push, so a malformed manifest fails CI instead of reaching users. The
CLI is installed from the official binary channel and cached, keyed on a
pinned version, so a warm cache skips the download entirely.
2026-05-18 15:12:12 -04:00
Omar Mihilmy 379e414f98 feat(repo): plugin version-bump hook + CI backstop; claude-in-office Wef sideload debug (#208)
* feat(repo): plugin version-bump hook + CI backstop, fix install docs/remote

* docs(claude-in-office): add Wef registry + wef-folder sideload (Windows + macOS) for local debugging

* ci: use actions/checkout@v4 instead of pinned SHA

* docs(claude-in-office): scope sideload cleanup to the specific manifest, not the wef folder

* docs(claude-in-office): scope cache-clear to wef contents with guards, not rm -rf of caches/wef dirs

* docs(claude-in-office): target cache-clear by add-in Id, leave other add-ins in wef untouched

* feat(claude-in-office): add clear-addin-cache scripts (mac/win), ID-targeted, dry-run by default

* fix(claude-in-office): Windows sideload cleanup is registry-based, ID-first; direct edits (no office-addin-dev-settings); document deployed-cache caveat

* docs(claude-in-office): clarify surgical per-ID deletion of local/sideloaded manifests is safe; MS warning applies only to the deployed cache

* feat(claude-in-office): add sideload-addin scripts (mac/win), ID-derived, dry-run by default; debug.md points to script pair

* feat(claude-in-office): sideload installs directly (drop dry-run); dry-run stays only on destructive clear-addin-cache

* docs(claude-in-office): make the post-clear app restart an explicit step, not a buried line
2026-05-15 17:57:20 -04:00
Omar Mihilmy ac4c5b4c91 docs(claude-in-office): clarify entra_scope — multi-scope support, looser validation (#195)
The add-in now accepts entra_scope as a comma/whitespace-separated list and
no longer requires a URI-shaped value (Entra validates scope syntax, not the
build script). Update the docs and the build-manifest validation to match:

- build-manifest.mjs: entra_scope pattern relaxed to any non-blank string;
  the graph_client_id pairing check is unchanged.
- manifest.md: document the multi-scope list syntax and the same-resource
  constraint; clarify the build script enforces the pairing, not the format.
- bootstrap.md: note scp is a space-delimited list with multiple scopes.
- debug.md: add a Silent SSO / Entra token failures troubleshooting section
  (AADSTS50194, entra_scope-without-graph_client_id, silent-then-popup).
2026-05-14 21:26:04 -04:00
Omar Mihilmy 853f755a61 feat(claude-in-office): add disabled_features manifest param (#154) 2026-05-09 07:28:47 -04:00
Omar Mihilmy 1c2ece3467 docs(claude-in-office): document allow_1p manifest param (#153)
* docs(claude-in-office): document allow_1p manifest param

* chore(claude-in-office): bump plugin version to 0.1.1
2026-05-08 22:50:40 -04:00
Vivek Nair 57772c3f16 feat(claude-in-office): Outlook manifest support (#127)
build-manifest.mjs now takes a host argument (office | outlook). The
outlook host fetches manifest-outlook-3p.xml, which uses Microsoft's
MailApp schema and cannot share a file with the TaskPaneApp manifest
Excel/Word/PowerPoint use.

- URL_SLOTS regexes are now /g so all three Outlook taskpane URL entries
  (FormSettings + V1_0 + V1_1 Resources) receive the config params, not
  just the first match.
- New graph_client_id key for orgs that bring their own Entra app for
  Microsoft Graph instead of consenting to Anthropic's multi-tenant app.
- aws_* keys with the outlook host fail fast: Bedrock is not currently
  supported for Outlook.
- consent.md gains the Outlook Graph admin-consent URL (Mail.ReadWrite,
  Calendars.Read, People.Read, User.Read, offline_access) and the
  own-Entra-app alternative.
- manifest.md and setup.md document the host arg, the per-host file
  split, and route admins to the consent step before generating the
  Outlook manifest.
2026-05-07 17:10:05 -04:00
cxyback bb4a2b3e53 Restructure repo and add named agents (#81)
- Move verticals from repo root into plugins/vertical-plugins/ and partner
  plugins into plugins/partner-built/
- Add 10 named, self-contained agent plugins under plugins/agent-plugins/
  (Pitch Agent, Market Researcher, Earnings Reviewer, Model Builder,
  Meeting Prep, GL Reconciler, Month-End Closer, Statement Auditor,
  Valuation Reviewer, KYC Screener) — each bundles its own skills so it
  installs standalone
- Add managed-agent-cookbooks/ (one per agent) with subagent isolation
  and steering examples for /v1/agents deployment
- Add fund-admin and operations verticals so the finance-ops/onboarding
  agents ship real domain skills
- Add scripts/ (check.py manifest lint, sync-agent-skills.py,
  deploy-managed-agent.sh, orchestrate.py reference loop,
  test-cookbooks.sh)
- Add .github/workflows/secret-scan.yml (gitleaks + internal-ref grep)
- Tighten agent tool grants to declared MCPs only — no Bash, WebFetch,
  or undeclared mcp__* references in any agent
- Add not-investment-advice disclaimer to README
- Rename claude-in-office to claude-for-msft-365-install (content
  unchanged)
2026-05-05 10:58:18 -04:00
manar-ant b7cb30cc98 feat(claude-in-office): add entra_scope manifest param for access-token bootstrap auth (#79)
* feat(claude-in-office): add entra_scope manifest param for access-token bootstrap auth

* docs(claude-in-office): note accessTokenAcceptedVersion for entra_scope resource app
2026-04-30 12:58:01 -04:00
manar-ant 5ae6748fb6 docs(claude-in-office): document graph_client_id manifest param for BYO Entra app (#78) 2026-04-29 20:34:15 -04:00
Vivek Nair 532221dcf1 docs(claude-in-office): document otlp_resource_attributes config key (#73)
Adds the new `otlp_resource_attributes` key (comma-separated k=v, same
format as OTEL_RESOURCE_ATTRIBUTES) to:

- build-manifest.mjs KEYS validator
- manifest.md / bootstrap.md telemetry sections
- update-user-attrs.md key table

Paired with anthropics/office-agent OA-336.
2026-04-22 23:20:45 -04:00
manar-ant 356f09fe93 feat(manifest): add inference_headers config key (#68)
JSON object of extra HTTP headers the add-in attaches to every request
it sends to the configured gateway. Lets enterprise gateways receive
accounting or routing tags without a header-injecting proxy in front.

- build-manifest.mjs: KEYS validator entry
- manifest.md / bootstrap.md / update-user-attrs.md: documented with
  example and reserved-header list
2026-04-17 17:50:20 -04:00
manar-ant a9c6d61315 fix(manifest): accept gateway_auth_header and gateway_api_format case-insensitively (#65) 2026-04-15 15:13:09 -04:00
Omar Mihilmy c35ff8cd34 feat(claude-in-office): Python bootstrap reference server with RBAC (#64)
Adds examples/python-bootstrap/: a ~80-line FastAPI reference for the
bootstrap endpoint. Validates the Entra ID token, reads oid/groups from
claims, parses X-Claude-User-Agent for the Office host, and returns
skills + mcp_servers via a first-match RULES table in config.py.

Includes mint_dev_token.py (loopback-only RS256 dev tokens),
get_tenant_id.py, requirements.txt, and README.

Also documents the X-Claude-User-Agent request header and recommended
CORS preflight (Allow-Headers: Authorization, X-Claude-User-Agent, *)
in commands/bootstrap.md.
2026-04-15 12:31:47 -04:00
manar-ant ad39947a13 fix(manifest): add otlp_endpoint/otlp_headers to KEYS validator (#63) 2026-04-14 16:17:10 -04:00
alexa-perlov 38369baaf7 feat(manifest): add Azure AI Foundry config keys (#60)
Add azure_resource_name and azure_api_key to the build-manifest KEYS
table so admins can bake Foundry config into the add-in manifest.
Document the Foundry path in setup.md and the keys table in manifest.md.
2026-04-13 10:46:21 -07:00
manar-ant e96550afbb feat(claude-in-office): add gateway_api_format manifest key (#61)
Adds gateway_api_format (anthropic | bedrock | vertex) to the config key
set so admins can deploy against gateways exposing Bedrock InvokeModel
or Vertex rawPredict pass-through routes instead of /v1/messages.

- build-manifest.mjs: KEYS entry with /^(anthropic|bedrock|vertex)$/
- setup.md: gateway wizard asks for API format; vertex => also capture
  gcp_project_id + gcp_region; Step 6 smoke test now has three
  format-specific curls (path + body shape differ per format)
- manifest.md / update-user-attrs.md / bootstrap.md: docs for the key
2026-04-08 17:22:25 -04:00
Vivek Nair 90d7a0c0af feat: document otlp_endpoint and otlp_headers config keys (#57)
feat(claude-in-office): document otlp_endpoint and otlp_headers config keys
2026-04-05 11:34:12 -04:00
alexa-perlov 8470f2de5c feat(claude-in-office): accept mcp_servers key in build-manifest (#55)
Adds mcp_servers to the recognized KEYS table so admins can bake an
org-wide MCP server list into the manifest URL. Documents the key in
commands/manifest.md alongside the other cross-cutting keys, with a
shell-quoted example and a pointer to bootstrap.md for the full schema
and per-user delivery.
2026-04-01 20:15:35 -04:00
Omar Mihilmy 75aac9a8bb docs(claude-in-office): add devtools recipes for macOS and Windows (#51)
Adds a new section to the /debug skill covering how to attach browser
devtools to the add-in WebView on both platforms. The macOS recipe
includes the three-gate sequence (defaults write, Safari Develop menu,
Sonoma Privacy & Security allowlist) plus the gotcha that Office updates
silently reset the defaults-write flag. Windows covers both WebView2
(right-click or Edge DevTools Preview) and the IE11/Trident legacy path
via IEChooser.exe.

Also adds a triage table row so admins asking 'how do I see the console'
route here directly.
2026-04-01 12:18:51 -04:00
Omar Mihilmy 16321d982a Merge pull request #53 from anthropics/feat/bootstrap-command
feat(claude-in-office): add bootstrap command for mcp_servers and skills
2026-04-01 11:42:44 -04:00
Omar Mihilmy 2c728669c9 feat(claude-in-office): add bootstrap command for mcp_servers and skills 2026-04-01 10:23:05 -04:00
manar-ant 8f122c9f2b Merge pull request #52 from anthropics/manar/bootstrap-expires-at-docs
Document bootstrap_expires_at in bootstrap response
2026-03-31 23:37:49 -04:00
Manar Safi ef1b63b67a docs(claude-in-office): document bootstrap_expires_at response field
Adds bootstrap_expires_at to the bootstrap endpoint response example
and explains it enables proactive config refresh — the add-in re-calls
the endpoint before expiry. Epoch seconds or milliseconds, auto-detected.
2026-03-31 23:27:33 -04:00
manar-ant a757f2fd85 Merge pull request #48 from anthropics/manar/gateway-auth-header-key
Add gateway_auth_header manifest key
2026-03-30 11:04:02 -04:00
Manar Safi c22da9af23 docs(claude-in-office): document gateway_auth_header key
Explains the x-api-key vs Authorization: Bearer choice in the Gateway
section of setup.md, adds the key to manifest.md's per-cloud table, and
updates the Step 6 smoke-test curl with the alternate header form.
2026-03-29 11:05:26 -04:00
Manar Safi 618cf03007 feat(claude-in-office): add gateway_auth_header manifest key
Adds gateway_auth_header to the KEYS table so admins can configure
which header carries the gateway token. Accepts "x-api-key" (default)
or "authorization" (sends Authorization: Bearer <token>).

Pairs with add-in support for the same key in CustomerConfig.
2026-03-27 20:37:21 -04:00
Omar Mihilmy 62ba73a9b1 Merge pull request #47 from anthropics/add-claude-in-office-plugin
Add claude-in-office plugin for Office add-in deployment
2026-03-27 12:22:04 -04:00
Omar Mihilmy c7e5fc6d56 claude-in-office: make admin consent conditional on entra_sso
Consent is only required when entra_sso=1 (Bedrock or per-user config).
Gateway and Vertex with org-wide config skip it. Updates setup.md flow
and consent.md to reflect this.
2026-03-27 11:36:13 -04:00
Omar Mihilmy c9358a5d5c Add claude-in-office plugin for Office add-in deployment
Migrated from anthropics/office-agent. Provides /setup, /manifest, /consent,
/update-user-attrs, and /debug commands for M365 admins provisioning the
Claude Office add-in with direct cloud access (Vertex AI, Bedrock, or an
LLM gateway).
2026-03-27 10:57:28 -04:00
Omar Mihilmy b75df36855 Merge pull request #43 from anthropics/cxl/remove-yfinance
Remove unused yfinance dependency from dcf-model skill
2026-03-26 13:41:11 -04:00
Nicholas Lin 9a08cb4f7a Remove unused yfinance dependency from dcf-model skill
The package was listed in requirements.txt but never imported by any
script in the skill. Removing to reduce supply-chain surface area.
2026-03-26 10:43:28 -04:00
cxyback b881b3c73e Merge pull request #35 from anthropics/cxl/pe-ai-readiness
Add ai-readiness skill to private-equity plugin
2026-03-13 15:12:12 -07:00
Nicholas Lin 3efe45f1b9 Prompt for portfolio data source upfront in ai-readiness skill 2026-03-13 13:07:07 -07:00
Nicholas Lin e36e38a987 Add ai-readiness skill to private-equity plugin
Portfolio-wide AI opportunity scanner for operating partners. Ingests
quarterly materials across portcos, runs a go/wait gate on each
(data ready? owner? 30-day pilot?), ranks quick wins by EBITDA impact,
and surfaces replays that hit multiple companies at once.
2026-03-12 17:40:48 -07:00
vinitra-ant 609de35b17 Merge pull request #27 from anthropics/vinitra/update-ppt-skills
Update PowerPoint skills for Claude in PPT skills launch
2026-03-10 09:13:10 -07:00
Vinitra Rangan 530503a99a Merge remote-tracking branch 'origin/main' into vinitra/update-ppt-skills 2026-03-10 09:10:55 -07:00
Tobin South fc22a5ebce Merge pull request #29 from anthropics/fix/normalize-thousand-trillion-substring
Fix normalize_number matching 'thousand' as trillion
2026-03-10 14:38:17 +00:00
Manar Safi 2f5a932a38 Fix normalize_number matching 'thousand' as trillion
Substring matching checked 'T' before 'thousand', so 't' matched inside
'thousand' and returned the 1e12 multiplier instead of 1e3. Sort keys by
length descending so longer, more specific units always win.
2026-03-10 10:35:22 -04:00
Vinitra Rangan 52d23e26f7 Update PowerPoint skills for Claude in PPT skills launch
- Rewrite competitive-analysis: cleaner prose, explain-the-why over imperatives
- Rename check-deck -> ib-check-deck with the same rewrite treatment
- Add deck-refresh: updates figures across an existing deck without rebuilding,
  with a four-phase workflow (get data -> find all -> approve -> execute)
2026-03-09 16:12:30 -07:00
cxyback 1e7a0c4c1f Merge pull request #24 from anthropics/cxl/clean-data-audit-commands
Add clean-data-xls and audit-xls skills; consolidate model audits
2026-03-09 14:09:31 -07:00
Nicholas Lin 90f098ec95 Rename 3-statements skill to 3-statement-model 2026-03-08 21:08:30 -07:00
Nicholas Lin e27bd783c2 Add formulas-over-hardcodes guidance and consolidate audit skills
Adds critical principles across all Excel model-building skills (dcf-model, lbo-model, comps-analysis, 3-statements, clean-data-xls): prefer live formulas over computed values, verify step-by-step with user, Office JS environment support with merge-cell pitfall fix, minimal blue/grey color palette, and odd-grid sensitivity tables with highlighted base-case center cell. Merges check-model into audit-xls as a scope-based workflow (selection/sheet/model) so there's a single audit entry point.
2026-03-08 21:05:55 -07:00
Nicholas Lin a0a3e9d212 Add clean-data-xls and audit-xls skills
- clean-data-xls: clean messy spreadsheet data (whitespace, casing,
  numbers-as-text, date formats, duplicates, mixed types, encoding)
- audit-xls: audit formulas for accuracy and mistakes; scopes to sheet,
  whole model, or selection; reuses check-model for full-workbook audits
2026-03-08 18:04:15 -07:00
Tobin South c5947c8b06 Merge pull request #3 from anthropics/cxl/partner-built-folder
Move partner-built plugins into partner-built/ folder
2026-02-23 20:16:29 -08:00
Nicholas Lin 57c549424e Remove worktree from tracking, update gitignore 2026-02-23 23:04:05 -05:00
Nicholas Lin e631a87699 Move partner-built plugins (LSEG, S&P Global) into partner-built/ folder
- Created partner-built/ directory for plugins maintained by data partners
- Moved lseg/ and spglobal/ into partner-built/
- Updated marketplace.json source paths
- Added Partner-Built Plugins section to README
2026-02-23 23:03:50 -05:00
cxyback df3eed3ee6 Merge pull request #2 from anthropics/add-partner-plugins
Add partner plugins: LSEG, S&P Global
2026-02-23 23:01:16 -05:00
Tobin South 227ca179e6 Add SRI integrity hashes to CDN script tags in S&P Global report template 2026-02-23 19:54:23 -08:00