Commit graph

33 commits

Author SHA1 Message Date
Jiayuan Zhang
1140f09632 refactor(skills): merge check_fillable_fields into extract_form_field_info
The 12-line check_fillable_fields.py was a subset of
extract_form_field_info.py. Add a --check flag to the latter and
remove the standalone script. Update forms.md reference accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:32:32 +08:00
Jiayuan Zhang
7fdd0dbd3d chore: add __pycache__ to gitignore and remove committed cache
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:32:24 +08:00
Jiayuan Zhang
6234ba6139 refactor(skills): deduplicate office/ module across docx, xlsx, pptx
Move the shared office/ directory (pack/unpack, validators, schemas,
soffice wrapper) to skills/_shared/office/ and replace the three
identical copies with symlinks. Update skill loader to dereference
symlinks during copy to managed directory, and skip _-prefixed
directories in the bundled skills scan.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 01:31:53 +08:00
Jiayuan Zhang
28957ba835 feat(skills): add Excel spreadsheet (xlsx) skill
Add xlsx skill with openpyxl/pandas workflows, formula-first approach, LibreOffice recalculation, financial model color coding standards, and formula verification checklist.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:54:17 +08:00
Jiayuan Zhang
1c51932119 feat(skills): add PowerPoint presentation (pptx) skill
Add pptx skill with template-based editing workflow, PptxGenJS creation from scratch, slide thumbnails, design guidelines, and visual QA process.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:54:16 +08:00
Jiayuan Zhang
7999d8fc99 feat(skills): add PDF processing skill
Add pdf skill with text/table extraction, merge/split, form filling (fillable and non-fillable), PDF creation with reportlab, and command-line tools integration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:54:16 +08:00
Jiayuan Zhang
2774c0f61f feat(skills): add Word document (docx) skill
Add docx skill with document creation via docx-js, XML editing workflow (unpack/edit/pack), tracked changes, comments, and LibreOffice integration for PDF conversion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:54:16 +08:00
Jiayuan Zhang
143d779376
Merge pull request #140 from multica-ai/forrestchang/earnings-analysis-skill
feat(skills): earnings analysis for financial statement assessment
2026-02-12 17:34:16 +08:00
Jiayuan Zhang
845bcea77d fix(skills): enforce mandatory web search in earnings analysis
Agent was skipping all web searches because instructions used optional
language ("if...", "after reviewing..."). Changed key searches from
conditional to mandatory (MUST/REQUIRED), added a checkpoint after
Step 1b, and rewrote Web Search Guidelines as "Requirements" with a
minimum of 3 mandatory searches per analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:21:51 +08:00
Jiayuan Zhang
f021063a3e feat(skills): add web search integration to earnings analysis
Add targeted web search guidance at key analysis steps: earnings call
highlights, industry context, anomaly explanation (margin shifts, debt
changes, CapEx spikes), quality-of-earnings validation, and earnings
call transcript supplementation. Includes guardrails to keep searches
targeted (3-6 total) and source-quality hierarchy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 17:05:30 +08:00
Jiayuan Zhang
bef8692e75 feat(skills): add earnings analysis skill for financial statement assessment
Adds a new bundled skill for analyzing company financial statements with
a structured 9-step framework including Buffett competitive advantage
scoring, quality of earnings assessment, and SEC filing qualitative
analysis. Includes reference files for sector benchmarks and scoring
criteria.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 16:53:21 +08:00
Jiayuan Zhang
b280d6fa52 chore(skills): bump finance skill versions to 1.1.1 2026-02-12 15:15:53 +08:00
Jiayuan Zhang
4b7567fe34 chore(skills): remove finance API key requirement 2026-02-12 15:13:13 +08:00
Jiayuan Zhang
695d001f9f refactor(skills): hide technical finance decision block 2026-02-11 18:56:35 +08:00
Jiayuan Zhang
bbda13d005 feat(skills): add finance evidence sufficiency gate 2026-02-11 18:48:44 +08:00
Jiayuan Zhang
f2adddcde7 feat(skills): upgrade finance analysis workflows 2026-02-11 18:30:42 +08:00
Jiayuan Zhang
6e28513ec5 feat(skills): add finance research and DCF valuation skills
- finance-research: guides agent on financial data retrieval and analysis
  workflows using the data tool
- dcf-valuation: 8-step DCF valuation workflow with sector WACC reference
  data, sensitivity analysis, and validation checks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 16:44:05 +08:00
Jiayuan Zhang
8a69eb19f8 chore(skills): remove commit and code-review skills
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 02:12:23 +08:00
Naiyuan Qing
7b885673da docs(skills): update whisper skill with correct transcription priority
Clarify that local whisper is the primary provider (free, offline),
OpenAI API is the fallback, and the skill only activates when both
are unavailable. Add setup instructions noting no restart is required.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:28:03 +08:00
Naiyuan Qing
4e5780692e feat(media): transcribe audio via Whisper API before reaching agent
Move audio transcription from agent-driven (exec + local whisper) to
Manager-layer processing via OpenAI Whisper API. Voice messages are
now transcribed automatically before the agent sees them, so the
agent only receives text. Local whisper skill remains as fallback
when API key is not configured. Also changed default model from
turbo to base for faster first-time experience.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:06:11 +08:00
Naiyuan Qing
922a3b2bb7 feat(skills): add whisper audio transcription skill
Bundled skill that enables the agent to transcribe audio files using
OpenAI Whisper CLI. Uses anyBins requirement so the skill is only
visible when whisper is installed. Includes brew and uv install specs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:44:49 +08:00
Jiayuan
34bfc81ce7 refactor(profile-setup): simplify setup to focus on agent identity and user info
Remove work context and workflow preferences collection since this is a
general-purpose agent not tied to specific work types.

Setup now only collects:
- Agent identity (name, style) -> soul.md
- User info (name, timezone, preferences) -> user.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 23:59:59 +08:00
Jiayuan
eeabe0d55c fix(profile-setup): add agent identity questions to setup wizard
- Add soul.md to the list of configurable files
- Include agent identity questions (name, role, style)
- Update file examples to show soul.md updates
- Start conversation by asking about agent's name first

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 23:55:40 +08:00
Jiayuan
a990a1c3ca feat(profile): add interactive setup command for agent profiles
- Add `multica profile setup <id>` command for interactive profile setup
- Create profile-setup skill with conversational setup wizard
- Agent collects user info through natural dialogue and updates profile files
- Supports updating user.md, workspace.md, and config.json

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 23:49:48 +08:00
Jiayuan
69cad35b4b docs(skill-creator): support profile-specific skill creation
Update skill-creator instructions to:
- Default to profile directory when running under a profile
- Fall back to global directory when no profile is active
- Show both directory structures
- Add profile skill removal instructions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:53:27 +08:00
Jiayuan
6bb8f2d9e0 docs(skill-creator): update precedence to reflect simplified sources
Update Skill Precedence section to show only two sources:
1. Profile-specific skills (highest priority)
2. Global skills (~/.super-multica/skills/)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:44:39 +08:00
Jiang Bohan
dc2c369ca9 docs(skill-creator): explicitly state no .skill packaging needed 2026-01-30 17:43:59 +08:00
Jiang Bohan
66cb3e5a93 refactor(skill-creator): use direct bash commands instead of Python script
Simplify skill creation by using mkdir + cat instead of init_skill.py
to avoid path resolution issues between bundled and managed directories
2026-01-30 17:39:52 +08:00
Jiang Bohan
f19e51da31 feat(skill-creator): add init_skill.py script for reliable skill creation
- Add init_skill.py that always creates skills in ~/.super-multica/skills/
- Restructure SKILL.md with step-by-step creation process
- Make script usage mandatory to prevent skills in wrong directories
- Support --description, --emoji, --tag, --resources options
2026-01-30 17:39:03 +08:00
Jiang Bohan
b2d281c29d docs(skill-creator): emphasize correct skill directory path 2026-01-30 17:34:35 +08:00
Jiang Bohan
5562fbe7d7 docs(skill-creator): add progressive disclosure section 2026-01-30 17:26:49 +08:00
Jiang Bohan
c1cbdacf40 feat(skills): add skill-creator meta-skill for self-extension
Add a bundled skill that teaches the agent how to create, edit, and
manage custom skills. This enables the agent to extend its own
capabilities by writing new SKILL.md files.

Features:
- Complete SKILL.md format reference
- Examples for creating translation and code formatter skills
- Best practices for skill development
- Script inclusion guidance
- Skill precedence explanation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 17:22:25 +08:00
Jiayuan
50ae997ab4
feat(agent): add skills system with profile integration (#21)
* chore(deps): add yaml package for skill parsing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat(agent): add skills system

Implement a skills system inspired by moltbot's approach:

- Skills are markdown files (SKILL.md) with YAML frontmatter
- Multi-source loading with precedence: bundled < user < workspace
- Eligibility filtering based on platform, binaries, and env vars
- Skills are automatically included in agent system prompt
- New AgentOptions: enableSkills, skillsBaseDir, extraSkillDirs

Includes two bundled skills:
- commit: Git commit helper with conventional commit guidelines
- code-review: Code review checklist and best practices

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* refactor(skills): use profile-based skills instead of workspace

Change skill loading from workspace-based (.skills/) to profile-based:
- Skills now load from ~/.super-multica/agent-profiles/<profileId>/skills/
- Remove workspace and user skill sources
- Simplify to only bundled and profile sources
- Profile skills have higher precedence than bundled

This is more appropriate for non-coding agents where skills are
associated with agent identity rather than working directory.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 05:21:57 +08:00