@francisco-donadio/specops
v0.3.1
Published
Installable AI Functional Analyst agent for repositories, IDEs, and coding assistants.
Maintainers
Readme
Specops
Specops is a CLI + MCP tool that turns product requests into structured analysis and ticket drafts, then creates tickets in GitHub, Jira, Linear, or Notion.
Install
Homebrew:
brew install francisco-donadio/tap/specopsnpm global:
npm install -g @francisco-donadio/specopsnpx (no install):
npx @francisco-donadio/specops --helpMore install and upgrade paths: docs/install-upgrade.md.
Architecture overview: docs/how-specops-works.md.
Quick Setup
Create config:
specops init-configRun guided setup:
specops setupRun environment checks:
specops doctor --fix-hintsCheck installed binary details:
specops versionLLM Providers
Supported:
- OpenAI
- Anthropic (Claude)
- Gemini
Environment-based selection example:
export SPECOPS_LLM_PROVIDER=openai
export OPENAI_API_KEY=...
export FA_AGENT_MODEL=gpt-4.1-miniProvider keys:
OPENAI_API_KEYANTHROPIC_API_KEYGOOGLE_API_KEY
You can also set these in specops.config.json under llm:
llm.providerllm.modelllm.apiKeyEnv
Core Commands
Analyze:
specops analyze-feature '{"feature":{"title":"Checkout Revamp","problem":"Drop-off is high after shipping","users":["buyers"]}}'Draft tickets:
specops draft-tickets "draft tickets for improving onboarding conversion"Suggest business actions:
specops suggest-business "suggest improvements for activation funnel"Collect context:
specops collect-context '{"sources":["repo","git","notion"],"query":"checkout"}'Create tickets (dry-run):
specops create-tickets '{"provider":"github","target":{"owner":"acme","repo":"web-app"},"tickets":[{"title":"[FA] Checkout Revamp","description":"Improve checkout flow and reduce drop-off.","labels":["product"],"priority":"medium","status":"Backlog"}],"dryRun":true}'Provider Targets
- GitHub:
owner/repoor{ "owner": "...", "repo": "..." } - Jira:
PROJECT_KEYorPROJECT_KEY:BOARD_IDor{ "projectKey": "...", "boardId": "..." } - Linear:
TEAM_IDorTEAM_ID:PROJECT_IDor{ "teamId": "...", "projectId": "..." } - Notion:
dataSourceIdor{ "dataSourceId": "..." }
Context Management
List/clear persisted context:
specops context list
specops context list checkout
specops context clear --yesInteractive TUI:
specops context tuiGuide: docs/context-tui.md.
Slack Integration
Run Slack server:
export SLACK_SIGNING_SECRET=...
export SLACK_BOT_TOKEN=xoxb-...
specops serve-slackEndpoints:
POST /slack/eventsPOST /slack/command
Ticket creation in Slack uses confirmation flow: run preview first, then reply confirm create within 10 minutes for live execution.
Guide: docs/slack-setup.md.
MCP
Generate manifest:
specops mcp-manifestRun MCP server:
specops serve-mcpSecurity Notes
- Keep
.envowner-only:chmod 600 .env - Do not commit API keys/tokens
- Enable safe debug logs only when needed:
SPECOPS_SAFE_DEBUG=1
License
MIT
